The present disclosure relates to collaborations systems, and in particular, to routing collaboration feed items in systems that include information from and about objects stored in or maintained by external applications.
Unless otherwise indicated herein, the approaches described in this section are not admitted to be prior art by inclusion in this section.
Collaboration is a practice by which individuals work together to achieve a common goal. In some situations, the goal can be well defined, as is the case in business scenarios in which a group of employees are directed to design, make, sell, and distribute a particular product. In other situations, the goal may be more loosely defined. For instance, the purpose or goal for collaborating may be to increase the social interactions among users to foster an environment of innovation, camaraderie, or creativity.
To facilitate collaboration, various systems with collaborative environments have been developed to provide groups of users with information and mechanisms for collaborating with one another to achieve their collective goals. SAP™ Jam™ is an example of a collaboration system that focuses on collaboration for achieving specific business and sales goals. Systems intended to develop social interaction type collaboration are commonly referred to as “social networks”.
The mechanisms for collaboration implemented by such systems vary according to the requirements of the specific type of collaboration and the end goals. In some systems, the interaction among the users may be as simple as exchanging comments in an online forum. For example, various types of chat rooms and discussion boards exist that allow users to post announcements and comments to other member users. The announcements and comments may be organized and posted based on time and/or topic of discussion. Accordingly, a chronological discussion about one subject (e.g., making contact with a particular target customer for a potential sale) may be separated from another chronological discussion about another subject (e.g., finalizing the shipment of products to the target customer in response to a previous purchase). As used herein, the term comment is used generically to refer to any content received from a user in a collaboration system and may include, but is not limited to, alphanumeric text, hyperlinks, files, documents, computer readable code, network addresses, and the like.
The organization of the comments can be in the form of a thread of interactive comments in which users may make comments in response to previously posted comments from other users. Accordingly, the thread of comments is often arranged according to the natural flow of the thread, similar to a real-time conversation. As more comments are posted, the conversation can be updated. However, unlike a real-time conversation, the comments in a particular conversation thread may also be saved or archived, such that users can refer back to prior comments in the thread of comments.
Because not all users of a particular collaboration system will be interested in and/or authorized to view the information in a particular conversation thread, many systems define collaboration groups. Thus, group members who are associated with a particular collaboration group will be able to view and/or participate in the comment thread conducted among the members of that collaboration group. Group-based access control is a simple and efficient manner in which to organize the topics or goals of particular online comment thread. Not only does it provide a mechanism for defining groups of users who are or should be interested in the topic of a particular conversation thread, it also provides a mechanism for controlling access to information in the conversation thread. Members of the groups can share information, some of which may be confidential or otherwise sensitive, freely with other members of the group with some degree of confidence that the viewers of the information have the requisite interest and authorization.
Group-based access control is effective when dealing with information that originates from within the collaboration system. For example, when users log on and post comments or information to a particular collaboration group, they can reasonably assume that the members of a collaboration group are authorized to view the information. However, complications arise when group members, or the collaboration system itself, imports information from external sources. The imported information may have additional authorization or access requirements that some or all the members of a particular collaboration group may not have. Typically, collaboration systems have no mechanisms for verifying group members' authorization levels with respect to information received from an external source. Accordingly, indiscriminately posting information from the external source, like an application external to the collaboration system, may result in information being inadvertently disseminated to users who are not authorized to access the information according the security or authorization requirements of the external system.